﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using BCEntity.OA.Attendance.AttendanceClassDate;

namespace BCData.OA.Attendance.AttendanceClassDate
{
    public interface IAttendanceClassDateData
    {
        /// <summary>
        /// 根据日期获取当前排班信息
        /// </summary>
        /// <param name="groupId">考勤组Id</param>
        /// <param name="effectiveDate">考勤组生效日期</param>
        /// <returns></returns>
        Task<AttendanceClassDateEntity> GetLatestEntityByGroupIdAndEffectiveDate(long groupId, DateTime effectiveDate);

        /// <summary>
        /// 新增一组排班日期表
        /// </summary>
        /// <param name="entities">排班日期信息</param>
        /// <returns></returns>
        Task<IEnumerable<AttendanceClassDateEntity>> InsertListAsync(List<AttendanceClassDateEntity> entities);

        /// <summary>
        ///获取指定班次下的排班日期列表
        /// </summary>
        /// <param name="groupId">考勤组Id</param>
        /// <param name="effectiveDate">考勤组生效日期</param>
        /// <returns></returns>
        Task<IEnumerable<AttendanceClassDateEntity>> GetDateEntitiesByGroupIdAndEffectiveDate(long groupId,DateTime effectiveDate);

    }
}
